
// es el nombre de la funcion que no recibe ningun parametro pero
// un objeto ajax, este ya esta definido por lo tanto no modificar
function nuevoAjax() {
    // creacion de la variable a de volver, valor inicial falso
    var xmlhttp = false;
    try {
        // Creacion del objeto AJAX para navegadores distintos a Explorer
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            // Creacion del objeto AJAX para navegadores Internet Explorer
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest !== 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

// funcion que sera llamada desde index.jsp
// no devuelve nada pero recibe una opcion
function cargardatos(opcion) {
    // si opcion es 1 (con codigo)
    if (opcion === 1) {
        // llamo la funcion para crear ajax enviar la peticion
        // al servidor y muestre el contenido
        llamarajax("paginas/concodigo.jsp", "divcontenido");
    }
    // si no es opcion 0 (sin codigo)
    else {
        llamarajax("paginas/sincodigo.jsp", "divcontenido");
    }
}

// funcion que se encarga de crear instancia de ajax, realizara la peticion al servidor y
// muestra los datos de la pagina en el div descrito, recibe la url del archivo y el nombre del div
function llamarajax(url, div) {
    // recepcion del div y almacenado en una variable miDiv
    var miDiv = document.getElementById(div);
    // creacion de un numero aleatorio y almacenado en aleatorio
    var aleatorio = Math.random();
    // a la url recibida le adaptamos otra variable que es un numero aleatorio, esto se hace
    // debido a que en explorer se guarda siempre una cache de la url recibida lo cual genera
    // problemas por que cuando se realiza una peticion al servidor con la misma url devuelve
    // el mismo resultado osea que no actualiza la informacoin
    url += "?aleatorio=" + aleatorio;
    // creacion de variable miAjax y recibe el ajax creado

    var miAjax = nuevoAjax();
    // realizando la conexion con el servidor por el metodo GET
    miAjax.open("GET", url, true);
    miAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    // verifica el estado actual de la conexion con el servidor
    miAjax.onreadystatechange = function() {
        // el estado 4 indica que ya esta listo la conexion
        if (miAjax.readyState === 4) {
            // miAjax.responseText contiene todos los datos originados en la
            // url solicitada y la guardo en miDiv para mostrarlos
            miDiv.innerHTML = miAjax.responseText;
        }
    };
    miAjax.send(null);
}

function mandarCorreo(div,boton) {
    // recepcion del div y almacenado en una variable miDiv
    var miDiv = document.getElementById("divcontenido");
    var volver = document.getElementById("botonVolver");
    var titulo = document.getElementById("myModalLabel");
    volver.disabled = "disabled";
    miDiv.innerHTML = "Su correo esta siendo mandado...";
    // creacion de un numero aleatorio y almacenado en aleatorio
    var aleatorio = Math.random();
    // a la url recibida le adaptamos otra variable que es un numero aleatorio, esto se hace
    // debido a que en explorer se guarda siempre una cache de la url recibida lo cual genera
    // problemas por que cuando se realiza una peticion al servidor con la misma url devuelve
    // el mismo resultado osea que no actualiza la informacoin
    var url = "js/EnviarCorreo.jsp";
    url += "?aleatorio=" + aleatorio;
    // creacion de variable miAjax y recibe el ajax creado
    var miAjax = nuevoAjax();
    // realizando la conexion con el servidor por el metodo GET
    miAjax.open("GET", url, true);
    miAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    // verifica el estado actual de la conexion con el servidor
    miAjax.onreadystatechange = function() {
        // el estado 4 indica que ya esta listo la conexion
        if (miAjax.readyState === 4) {
            // miAjax.responseText contiene todos los datos originados en la
            // url solicitada y la guardo en miDiv para mostrarlos
            volver.disabled = false;
            miDiv.innerHTML = miAjax.responseText;
        }
    };
    miAjax.send(null);
}

function recogerPuntuacion(pass, celda1, puntuacion, seguridad) {
    // recepcion del div y almacenado en una variable miDiv
    var password = pass;
    var miCelda1 = document.getElementById("celda1");
    var miPuntuacion = document.getElementById("puntuacion");
    var nivelSeguridad = document.getElementById("seguridad");
    // creacion de un numero aleatorio y almacenado en aleatorio
    var aleatorio = Math.random();
    // a la url recibida le adaptamos otra variable que es un numero aleatorio, esto se hace
    // debido a que en explorer se guarda siempre una cache de la url recibida lo cual genera
    // problemas por que cuando se realiza una peticion al servidor con la misma url devuelve
    // el mismo resultado osea que no actualiza la informacoin
    var url = "js/RecogerPuntuacionPass.jsp";
    url += "?aleatorio=" + aleatorio;
    url += "&pass=" + password;

    // creacion de variable miAjax y recibe el ajax creado
    var miAjax = nuevoAjax();
    // realizando la conexion con el servidor por el metodo GET
    miAjax.open("GET", url, true);
    miAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    // verifica el estado actual de la conexion con el servidor
    miAjax.onreadystatechange = function() {
        // el estado 4 indica que ya esta listo la conexion
        if (miAjax.readyState === 4) {
            // miAjax.responseText contiene todos los datos originados en la
            // url solicitada y la guardo en miDiv para mostrarlos
            var puntuacion = miAjax.responseText;
            var intPuntuacion = parseInt(puntuacion);
            miPuntuacion.value = intPuntuacion;
            //miDiv.innerHTML = miAjax.responseText;
            if (password === "") {
                miCelda1.style.width = "0%";
                miCelda1.className = "progress-bar progress-bar-danger";
                nivelSeguridad.innerHTML = "";
//                miCelda1.style.width = "50px";
//                miCelda1.style.height = "1px";
//                miCelda1.style.backgroundColor = "#FFFFFF";
            } else if (intPuntuacion < 45) {
                miCelda1.style.width = "25%";
                miCelda1.className = "progress-bar progress-bar-danger";
                nivelSeguridad.className = "text-danger";
                nivelSeguridad.innerHTML = "Contraseña muy insegura. Introduce un mínimo de 6 carácteres alfanuméricos y símbolos.";
//                miCelda1.style.width = "50px";
//                miCelda1.style.height = "1px";
//                miCelda1.style.backgroundColor = "#F00";
            } else if (intPuntuacion >= 45 && intPuntuacion < 75) {
                miCelda1.style.width = "50%";
                miCelda1.className = "progress-bar progress-bar-warning";
                nivelSeguridad.className = "text-warning";
                nivelSeguridad.innerHTML = "Contraseña insegura. Introduce un minimo de 6 carácteres alfanuméricos y símbolos.";
//                miCelda1.style.width = "100px";
//                miCelda1.style.height = "1px";
//                miCelda1.style.backgroundColor = "#FFFF00";
            } else if (intPuntuacion >= 75) {
                miCelda1.style.width = "100%";
                miCelda1.className = "progress-bar progress-bar-success";
                nivelSeguridad.className = "text-success";
                nivelSeguridad.innerHTML = "Tu contraseña es segura.";
//                miCelda1.style.width = "150px";
//                miCelda1.style.height = "1px";
//                miCelda1.style.backgroundColor = "#66ff33";
            }
        }
    };
    miAjax.send(null);
}
